#include <ros/ros.h>
#include<std_msgs/String.h>
#include <sstream>

int main(int argc,char ** argv)
{
    setlocale(LC_ALL,"");
    ros::init(argc,argv,"cpp_pub_node");
    // 创建节点句柄
    ros::NodeHandle n;
    // 创建发布者
    ros::Publisher pub = n.advertise<std_msgs::String>("home",10);
    // 创建被发布的数据
    std_msgs::String msg;
    // msg.data = "hello";
    // 要求以10hz发送
    ros::Rate rate(10);
    // 设置编号
    int count = 0;
    ros::Duration(3).sleep();      // 休眠，等待在roscore注册，防止前几条数据丢失
    // 循环发送数据
    while (ros::ok())
    {
        std::stringstream data;
        data << "hello-->" << count;
        msg.data = data.str();
        pub.publish(msg);
        ROS_INFO("发布消息是%s",data.str().c_str());
        count ++;
        rate.sleep();  
        ros::spinOnce();   // 处理回调函数
    }
    
    return 0;
}